package com.eam.glag.lessons.ejb;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.eam.glag.entities.lessons.Lessons;
import com.eam.glag.entities.lessons.ReplayLesson;
import com.eam.glag.lessons.dto.BuscarLessonDTO;
import com.eam.glag.lessons.dto.LessonsDTO;
import com.eam.glag.lessons.dto.ReplayLessonDTO;


/*@autor jefferson Arellano*
 * Session Bean implementation class LessonsBean
 */
@Stateless
public class LessonsBean implements ILessonsRemote, ILessonsLocal {

	@PersistenceContext
	private EntityManager entityManager;
	
	/**
	 * Metodo que permite persistir 
	 * una leccion en la base de datos
	 * se capturan los valores de los campos
	 * se asignana a el objeto y se persiste en 
	 * la base de datos.
	 */
	
	public void registrarLeccion(LessonsDTO lessonsDTO) {

		Lessons leccion = new Lessons();

		leccion.setNombreLeccion(lessonsDTO.getNombreLeccion());
		leccion.setUsuario(lessonsDTO.getUsuario());
		leccion.setDescripcion(lessonsDTO.getDescripcion());
		leccion.setFechaCreacion(lessonsDTO.getFechaCreacion());
		leccion.setSolucion(lessonsDTO.getSolucion());
		leccion.setRecursosWeb(lessonsDTO.getRecursosWeb());
		leccion.setDocumentacion(lessonsDTO.getDocumentacion());
		leccion.setCategoria(lessonsDTO.getCategoria());
		leccion.setNombreProyecto(lessonsDTO.getNombreProyecto());
		leccion.setTipoProyecto(lessonsDTO.getTipoProyecto());
		leccion.setInvolucrados(lessonsDTO.getInvolucrados());
		leccion.setIteracion(lessonsDTO.getIteracion());
		
		entityManager.persist(leccion);

	}

	/**
	 * Metodo que permite realizar un replay de una leccion
	 * se capturan los valores de las variables, se asiganan 
	 * a las propiedades del objeto, y se persisten en la base de datos
	 */
	public void replaylessons(ReplayLessonDTO replayLessonsDTO) {

		ReplayLesson replayLesson= new ReplayLesson();

		replayLesson.setCodigoLessonReplay(replayLessonsDTO.getLessonReplay());
		replayLesson.setUsuario(replayLessonsDTO.getUsuario());
		replayLesson.setDescripcion(replayLessonsDTO.getDescripcion());
		replayLesson.setFechaCreacion(replayLessonsDTO.getFechaCreacion());
		replayLesson.setSolucion(replayLessonsDTO.getSolucion());
		replayLesson.setRecursoWeb(replayLessonsDTO.getRecursosWeb());
		replayLesson.setDocumentacion(replayLessonsDTO.getDocumentacion());
		replayLesson.setCategoria(replayLessonsDTO.getCategoria());
		replayLesson.setNombreProyecto(replayLessonsDTO.getNombreProyecto());
		replayLesson.setTipoProyecto(replayLessonsDTO.getTipoProyecto());
		replayLesson.setInvolucrados(replayLessonsDTO.getInvolucrados());
		replayLesson.setIteracion(replayLessonsDTO.getIteracion());
		entityManager.persist(replayLesson);
	}
	/**
	 * Metodo que permmite buscar una leccion registrada
	 * en el sistema, se capturan los valores, se asignan 
	 * al objeto y persisten
	 */
	
	public void buscarLesson(BuscarLessonDTO buscarLessonDTO)
	{
	
//		BuscarLessonDTO; 
		
	}
}
